import { IPSEditor } from '../ipseditor';
import { IPSSysValueRule } from '../../valuerule/ipssys-value-rule';

/**
 *
 * 子接口类型识别属性[]
 * 继承父接口类型值[AC|AC_FS|AC_NOBUTTON|AC_FS_NOBUTTON]
 * @export
 * @interface IPSTextEditor
 */
export interface IPSTextEditor extends IPSEditor {
  /**
   * 最大长度[MAXLENGTH]
   * @type {number}
   */
  maxLength: number;

  /**
   * 最小长度[MINLENGTH]
   * @type {number}
   * @default 0
   */
  minLength: number;

  /**
   * 值规则
   *
   * @type {IPSSysValueRule}
   */
  getPSSysValueRule(): IPSSysValueRule | null;

  /**
   * 值规则
   *
   * @type {IPSSysValueRule}
   */
  get psSysValueRule(): IPSSysValueRule | null;

  /**
   * 值规则（必须存在）
   *
   * @type {IPSSysValueRule}
   */
  getPSSysValueRuleMust(): IPSSysValueRule;

  /**
   * 显示最大长度[SHOWMAXLENGTH]
   * @type {boolean}
   * @default false
   */
  showMaxLength: boolean;
}
